// 创建事件总线，用于在不同组件间传递消息
const listeners = new Map();

export const toast = {
  // 注册一个toast监听器
  registerListener(name, callback) {
    listeners.set(name, callback);
  },
  
  // 移除一个toast监听器
  removeListener(name) {
    listeners.delete(name);
  },
  
  // 显示成功消息
  success(message, duration) {
    this._notify('success', message, duration);
  },
  
  // 显示错误消息
  error(message, duration) {
    this._notify('error', message, duration);
  },
  
  // 显示信息消息
  info(message, duration) {
    this._notify('info', message, duration);
  },
  
  // 显示警告消息
  warning(message, duration) {
    this._notify('warning', message, duration);
  },
  
  // 通知所有注册的监听器
  _notify(type, message, duration) {
    listeners.forEach((callback) => {
      callback(type, message, duration);
    });
  }
}; 